package ecut;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;

public class TestJdbc03 {
    public static void main(String args[]) throws Exception{
        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ecut?serverTimezone=Asia/Shanghai", "root", "123456");
        //创建prepareStatement对象
        /*插入
        String sql ="insert into user value(?,?,?)";
        PreparedStatement ps = conn.prepareStatement(sql);
        int id;
        String name,sex;
        System.out.println("录入：");
        Scanner in=new Scanner(System.in);
        id=in.nextInt();
        ps.setInt(1,id);//代表设置给第一个?号位置的值为Int类型的5
        name=in.next();
        ps.setString(2,name);
        sex=in.next();
        ps.setString(3,sex);
        */

        /*
        1.ResultSet  executeQuery(String sql); 执行SQL查询，并返回ResultSet 对象。
        2.int  executeUpdate(String sql); 可执行增，删，改，返回执行受到影响的行数。
        3.boolean execute(String sql); 可执行任何SQL语句，返回一个布尔值，表示是否返回ResultSet。
        如果 SQL 语句中有 ? 占位符，那么在设置好占位符中的值后，必须使用 executeUpdate() 执行。而 executeUpdate(String sql) 只是提交一个 SQL 语句，且这个语句中不能带有 ? 占位符。
        */

        /*删除
        String sql ="delete from user where id=?";
        PreparedStatement ps = conn.prepareStatement(sql);
        ps.setInt(1,6);
        */

        /*改
        String sql ="update user set sex=? where id=?";
        PreparedStatement ps = conn.prepareStatement(sql);
        ps.setString(1,"boy");
        ps.setInt(2,3);
        int executeUpdate = ps.executeUpdate();
        */

        /*查*/
        String sql="select * from user where id>?";
        PreparedStatement ps = conn.prepareStatement(sql);
        ps.setInt(1,3);
        ResultSet resultSet = ps.executeQuery();
        while( resultSet.next() ){
            int id = resultSet.getInt("id");
            String name = resultSet.getString("name");
            String sex = resultSet.getString("sex");
            System.out.println(id+"  "+name+"  "+"  "+sex);
        }

        //System.out.println(executeUpdate);
        ps.close();
        conn.close();
    }
}
